package com.project.erp.service.system;

import java.util.List;
import java.util.Map;

import com.project.erp.common.utils.Page;
import com.project.erp.model.system.Param;
import com.project.erp.model.system.ParamValue;

/**
 * 
 * COPYRIGHT (C) 2013 BY XXX公司

 *  功能模块名：参数操作服务接口类

 *  功能描述：

 * @author LiJiaGuo    

 * @version 1.0  

 * @created 2013-11-10 下午3:36:40
 */
public interface ParamService {
	/**
	 * 根据系统参数字段查询系统参数信息
	 * @param page
	 * @param param
	 * @return
	 */
	public Page<Param> getParamPageBySearch(Page<Param> page,Param param);
	
	public void saveParam(Param param);
	
	/**
	 * 根据系统参数ID返回系统参数信息
	 * @param paramId
	 * @return
	 */
	public Param getParamById(Long paramId);
	
	/**
	 * 修改系统参数信息
	 * @param param
	 * @param delParaValueList
	 * @param paramValueIds
	 */
	public void editParam(Param param,List<ParamValue> delParaValueList,Long[] paramValueIds);
	
	/**
	 * 删除系统参数信息,存在系统参数细表记录同时需要删除系统参数细表关联数据
	 * @param paramIds
	 */
	public void delParam(String[] paramIds);
	
	/**
	 * 取得全部系统参数，系统初始化调用
	 * @return
	 */
	public Map<String,Map<String, String>> getAllParams();
	
	/**
	 * 根据系统参数标识查找系统参数记录
	 * @param nameEn
	 * @return
	 */
	public Param getParamByNameEn(String nameEn);
}
